//
//  ImageDownLoader.h
//  UI 17 Day
//
//  Created by lanou3g on 15/7/1.
//  Copyright (c) 2015年 任志程. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

//声明一个协议
@protocol ImageDownFinishDelegate <NSObject>
//请求成功的回调方法，将请求到的数据传给让我下载的对象
- (void)imageDownLoadSuccess:(NSData *)data;
//请求失败的回调方法，将错误信息发送给让我下载的对象
- (void)imageDownLoadError:(NSError *)error;
@end

//声明了一个下载成功的block类型
typedef void (^imageDownLoadSuccess) (NSData *data);
//声明了一个下载失败的block类型
typedef void (^imageDownLoadError) (NSError *error);



@interface ImageDownLoader : NSObject

@property (nonatomic, copy) imageDownLoadSuccess successBlock;
@property (nonatomic, copy) imageDownLoadError errorBlock;

//声明一个block传值的方法
//successBlock:当请求成功是进行回调
//errorBlock:当请求失败是进行回调

- (void) requestImageUrl:(NSString *)imageUrl
            successBlock:(imageDownLoadSuccess)successBlock
              errorBlock:(imageDownLoadError)errorBlock;



//声明一个代理对象
@property (nonatomic, assign) id <ImageDownFinishDelegate> delegate;

/*功能：请求数据的方法
  参数：imageUrl请求数据的地址
       delegate设置的代理对象
  返回值：无
*/
- (void)requestImageUrl:(NSString *)imageUrl andDelegate:(id<ImageDownFinishDelegate>)delegate;





@end
